import { IBzCalendarLayoutConfig } from './ibz-calendar-layout-config';
import { Moment } from 'moment';

/**
 * 配置
 *
 * @export
 * @class IBzCalendarConfig
 */
export class IBzCalendarConfig {
    /**
     * 重新赋值给数据时的日期格式化规则
     *
     * @type {string}
     * @memberof IBzCalendarConfig
     */
    dateFormat?: string;
    /**
     * 是否允许时间重叠
     *
     * @type {boolean}
     * @memberof IBzCalendarConfig
     */
    allowTimeOverlap?: boolean;
    /**
     * 跨度天数，默认7天
     *
     * @type {number}
     * @memberof IBzCalendarConfig
     */
    spanDay?: number;
    /**
     * 日历展示起始时间，默认为当前时间
     *
     * @type {Moment}
     * @memberof IBzCalendarConfig
     */
    startDate?: Moment;
    /**
     * 日历展示结束时间，和跨度天数「spanDay」冲突，自身值优先
     *
     * @type {Moment}
     * @memberof IBzCalendarConfig
     */
    endDate?: Moment;
    /**
     * 一天起始时间偏差，单位「分钟」
     *
     * @type {string}
     * @memberof IBzCalendarConfig
     */
    timeDeviation?: number;
    /**
     * 起始时间标识, 默认值：startTime
     *
     * @type {string}
     * @memberof IBzCalendarConfig
     */
    startTimeKey?: string;
    /**
     * 结束时间标识，默认值：endTime
     *
     * @type {string}
     * @memberof IBzCalendarConfig
     */
    endTimeKey?: string;
    /**
     * 文本展示标识，默认值：text
     *
     * @type {string}
     * @memberof IBzCalendarConfig
     */
    textKey?: string;
    /**
     * 分时标度 单位：分钟，默认值为「60」分钟
     *
     * @type {number}
     * @memberof IBzCalendarConfig
     */
    timeSplitScale?: number;
    /**
     * 拖拽单次时间偏移量，默认为「30」分钟
     *
     * @type {number}
     * @memberof IBzCalendarLayoutConfig
     */
    dragOffsetMinutes?: number;
    /**
     * 布局配置
     *
     * @type {IBzCalendarLayoutConfig}
     * @memberof IBzCalendarConfig
     */
    layoutConfig?: IBzCalendarLayoutConfig;
}